package Clases;
/**
 * 
 */


import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * @author bruno_000
 *
 */
@Entity
@Table(name="arbitro",schema="bdd_II")
public class Arbitro extends Participante{
	
	private int puntaje;
	private Pais pais;
//	private Set<Encuentro> encuentros;
	
	/**
	 * Constructor sin parametros
	 */
	public Arbitro(){}

	/**
	 * @param nombre
	 * @param apellido
	 * @param fecha_nac
	 * @param pasaporte
	 * @param puntaje
	 * @param pais
	 */
	public Arbitro(String nombre, String apellido, String fecha_nac,
			String pasaporte, int puntaje, Pais pais) {
		super(nombre, apellido, fecha_nac, pasaporte);
		this.puntaje = puntaje;
		this.pais = pais;
	}

	/**
	 * @return the puntaje
	 */
	@Column(name="puntaje")
	public int getPuntaje() {
		return puntaje;
	}

	/**
	 * @param puntaje the puntaje to set
	 */
	public void setPuntaje(int puntaje) {
		this.puntaje = puntaje;
	}

	/**
	 * @return the pais
	 */
	@ManyToOne(cascade = {CascadeType.PERSIST})
	@JoinColumn(name="nacionalidad")
	public Pais getPais() {
		return pais;
	}

	/**
	 * @param pais the pais to set
	 */
	public void setPais(Pais pais) {
		this.pais = pais;
	}

	/**
	 * @return the encuentros
	 */
//	@ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
//	@JoinTable (name="arbitro_encuentro", joinColumns = @JoinColumn(name="pasaporte"),
//			inverseJoinColumns = {
//					@JoinColumn(name = "fecha", referencedColumnName="fecha"),
//					@JoinColumn(name = "nombre_pais_local", referencedColumnName="nombre_pais_local"),
//					@JoinColumn(name = "nombre_pais_visitante", referencedColumnName="nombre_pais_visitante")})
//	public Set<Encuentro> getEncuentros() {
//		return encuentros;
//	}

	/**
	 * @param encuentros the encuentros to set
	 */
//	public void setEncuentros(Set<Encuentro> encuentros) {
//		this.encuentros = encuentros;
//	}	
}
